package org.patterns.behavior.chainofresponsibility;


/**
 * 董事长类，President类继承自 Approver，用于处理金额小于500000元的采购请求
 * 如果请求金额超过500000元，则将请求委托给后续的处理者
 */
public class President extends Approver {
    public President(String name) {
        super(name);
    }

    /**
     * 处理采购请求的方法
     * 如果请求金额小于500000元，则打印出审批信息
     * 如果请求金额大于等于500000元，则将请求转发给后续处理者
     *
     * @param request 采购请求对象，包含请求编号、金额和目的等信息
     */
    public void processRequest(PurchaseRequest request) {
        if (request.getAmount() < 500000) {
            System.out.println("董事长" + this.name + "审批采购单：" + request.getNumber() + "，金额：" + request.getAmount() + "元，采购目的：" + request.getPurpose() + "。");  //处理请求
        } else {
            this.successor.processRequest(request);  //转发请求
        }
    }
}